import json

import scrapy


class TestpostSpider(scrapy.Spider):
    name = "testpost"
    allowed_domains = ["fanyi.baidu.com"]

    # post 请求如果没有参数 则这个请求没有任何意义
    # 所以sstart_urls 也没有用了
    # parse方法也没有用了
    # start_urls = ["https://fanyi.baidu.com/sug"]

    # def parse(self, response):
    #     pass
    def start_requests(self):
        url = 'https://fanyi.baidu.com/sug'

        data = {
            'kw': 'final'
        }
        yield scrapy.FormRequest(url=url, formdata=data, callback=self.parse)

    def parse(self, response):
        content = response.text

        # 这个错误是因为在使用 json.loads() 或 json.JSONDecoder 时，
        # 传递了一个不被支持的参数 encoding。从 Python 3.9 开始，
        # json 模块的 JSONDecoder 类不再接受 encoding 参数。
        # 解决方法
        # 移除 encoding 参数
        # 如果你正在使用 json.loads() 或 json.JSONDecoder，
        # 并且传入了 encoding 参数，请移除该参数。Python 的 json 模块会自动处理编码。
        obj = json.loads(content)
        print(obj)
